package com.cskaoyan.javse.oop3._2inner._6anonymous._2usecase;

/**
 * @description: 匿名内部类的具体使用场景
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 *  匿名内部类经常使用在以下两个场景中:
 *       1.方法需要返回一个对象时
 *          这时就可以用匿名内部类返回,它比局部内部类更高简洁,更加好用
 *
 *       2.方法需要传入一个对象时
 *          可以直接传入匿名内部类对象
 *
 */
public class Demo {
    public static void main(String[] args) {
        test(new ITest() {
            @Override
            public void method() {
                System.out.println("我是匿名内部类实现的方法的实参");
            }
        });
    }

    public static void test(ITest i) {
        i.method();
    }
}

abstract class AbstractClazz {
}

interface ITest {
    void method();
}

class ClazzA {
}